home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / MNetsrc.hqx / Mac TCP_IP Source v.33 / ftp.h < prev    next >
Text File  |  1989-03-26  |  1KB  |  49 lines

  1. #define CTLZ    26        /* EOF for CP/M systems */
  2.  
  3. extern char userfile[];    /* List of user names and permissions */
  4.  
  5. /* Per-session control block */
  6. struct ftp {
  7.     struct ftp *prev;    /* Linked list pointers */
  8.     struct ftp *next;
  9.     struct tcb *control;    /* TCP control connection */
  10.     char state;
  11. #define    COMMAND_STATE    0    /* Awaiting user command */
  12. #define    SENDING_STATE    1    /* Sending data to user */
  13. #define    RECEIVING_STATE    2    /* Storing data from user */
  14.  
  15.     char type;        /* Transfer type */
  16. #define    IMAGE_TYPE    0
  17. #define    ASCII_TYPE    1
  18.  
  19.     FILE *fp;        /* File descriptor being transferred */
  20.     struct socket port;    /* Remote port for data connection */
  21.     struct tcb *data;    /* Data connection */
  22.  
  23.     /* The following are used only by the server */
  24.     char *username;        /* Arg to USER command */
  25.     char *path;        /* Allowable path prefix */
  26.     char perms;        /* Permission flag bits */
  27. #define    FTP_READ    1    /* Read files */
  28. #define    FTP_CREATE    2    /* Create new files */
  29. #define    FTP_WRITE    4    /* Overwrite or delete existing files */
  30.  
  31.     char *buf;        /* Input command buffer */
  32.     char cnt;        /* Length of input buffer */
  33.     char *cd;        /* Current directory name */
  34.  
  35.     /* And this is used only by the client */
  36.     struct session *session;
  37. #ifdef MAC
  38.     int MacBinary;    /* MacBinary Flag */
  39.     int MBftp;        /* MacBinary FTP active */
  40.     MBFile *mbfp;    /* Pointer to MacBinary file control block */
  41. #define MACB_OFF    0     /* MacBinary Off */
  42. #define MACB_ON        1    /* MacBinary On */
  43. #endif
  44. };
  45.  
  46. #define    NULLFTP    (struct ftp *)0
  47.  
  48.  
  49.